import { getCateList } from '@/api/category.js'

const category = {
  namespaced: true,
  state: () => ({ // state为什么写成函数--为了复用时候不受影响(复用函数会新开辟一个内存地址，互相不影响)
    categoryList: []
  }),
  mutations: {
    // 更改分类列表
    updateCategoryList (state, payload) {
      state.categoryList = payload
    }
  },
  actions: {
    // 调取接口获取分类列表--并筛选数据
    async getCategoryList ({ commit }) {
      const { data: { result } } = await getCateList()
      commit('updateCategoryList', result)
    }
  },
  getters: {
    // 数据的二次处理 计算属性
    formatList (state) {
      return state.categoryList.map((item) => {
        return {
          id: item.id,
          name: item.name,
          children: item.children.slice(0, 2),
          goods: item.goods
        }
      })
    }
  }
}

export default category
